package com.niodata.dp.plugin.core;

import java.io.IOException;
import java.util.Map;

public interface PluginService {

  public void saveState(PluginState state) throws IOException;

  public PluginState getState(String taskName, String scheduleId, String jobName)
        throws IOException;

  public void outputValues(PluginOutputValues outpuValues) throws IOException;

  public void output(Output output) throws IOException;

  public void publishEvent(Map<String, Object> message) throws IOException;

  public void saveTableInfo(String taskName, String dsName, String dbName, String tableName,
        String tableDesc) throws IOException;

  public void saveTableInfo(String dsName, String dbName, String tableName, String tableDesc)
        throws IOException;
}
